home *** CD-ROM | disk | FTP | other *** search
-
- #ifndef __SCRIPTABLEDBDOCUMENT__
- #define __SCRIPTABLEDBDOCUMENT__
-
- class TDatabaseDocument;
- class TAbstractBackingStore;
-
- //
- // For class definition of TAbstractDocument
- //
- #include "AbstractDocument.h"
-
- //
- // For class definition of TDatabaseDocument
- //
- #include "DatabaseDocument.h"
- #include "Int64.h"
-
- #include "Debug.h"
-
- #define clScriptableDBDocument 100
-
- //================================================================================
- // Class TScriptableDBDocument
- //
- // Actually, I don't think I need to use MI here. Containing a
- // TDatabaseDocument should be suficient.
- //================================================================================
- class TScriptableDBDocument : public TAbstractDocument, public TDatabaseDocument
- {
- private:
-
- public:
- DeclareClassData(TScriptableDBDocument, TAbstractDocument);
-
- TScriptableDBDocument() : TDatabaseDocument() {}
- TScriptableDBDocument(TAbstractBackingStore* backingStore) : TDatabaseDocument(backingStore) {}
-
- virtual ~TScriptableDBDocument();
-
- static TScriptableDBDocument* NewDatabase();
- static TScriptableDBDocument* OpenDatabase(TFSSpecification& fileSpec);
- static TScriptableDBDocument* OpenDatabase(TFSSpecification& fileSpec, Int64 requiredDocumentID);
-
- //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- // Overrides of class TAbstractDocument
- //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
- virtual Int64 DocumentIdentifier() const;
- virtual Boolean DocumentFSSpecification(TFSSpecification& fileSpec) const;
-
- //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- // Overrides of class TAbstractScriptableObject
- //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
- virtual TDescriptor GetProperty(const TAETransaction& t, DescType propertyName, DescType desiredType, unsigned long additionalInfo);
- virtual void SetProperty(const TAETransaction& t, DescType propertyName, TDescriptor& data, unsigned long additionalInfo);
-
- virtual void MakeKeyDataForSelf(const TAETransaction& t, DescType& keyForm, TDescriptor& keyData);
-
- virtual TDescriptor AECommand(const TAETransaction& t, long aeCommandID, TAbstractScriptableObject* auxObjects = nil, long auxInfo = 0);
- virtual TAbstractScriptableObject* CreateNewElement(const TAETransaction& t, DescType newObjectClass, TDescriptor initialData, TDescriptor initialProperties, Boolean& usedInitialData, Boolean& usedInitialProperties);
-
- virtual TAbstractScriptableObject* RepresentativeScriptingObject(const TAETransaction& t);
- virtual Boolean SendCommandToRepresentative(const TAETransaction& t, long aeCommandID);
-
- //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- // Methods of TScriptableDBDocument
- //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
- TFSSpecification DocumentFSSpecification();
- void Save() { this->FlushChangesToDisk(); }
- void SaveAs(TFSSpecification& fileSpec);
- };
-
- #endif
-